/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.com.poligran.polla.mundialista.ingesoft.dao;

import co.com.poligran.polla.mundialista.ingesoft.base.Partido;

import static co.com.poligran.polla.mundialista.ingesoft.dao.Conexion.conexionSqlServer;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Collection;
import java.util.LinkedList;

/**
 *
 * @author DAVID MOTTA
 */
public class SqlServerPartidoDAO {

   
    public Collection selectPartido() {
        Partido partido = null;
        Conexion conexion = null;
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs= null;
        LinkedList selectPartido = null;
        StringBuilder sqlConsulta = new StringBuilder();
        try{
            conn = conexion.conexionSqlServer();
            sqlConsulta.append("select * from partido");
            ps = conn.prepareStatement(sqlConsulta.toString(), ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
            rs=ps.executeQuery();
            selectPartido = new LinkedList();
            while(rs.next()){
                partido = new Partido();
                
                partido.setIdPartido(rs.getString(1));
                partido.setFechaPatido(rs.getDate(2));
                partido.setIdEquipoA(rs.getString(3));
                partido.setIdEquipoB(rs.getString(4));
                
                
                selectPartido.add(partido);
            
                
                
            }
        }
        catch( SQLException sqle) {
            sqle.printStackTrace();
            System.out.println(sqle.getMessage());
    }
        finally{
            try{
                if(rs!=null)
                {
                    rs.close();
                }
            }
             catch (SQLException sqlers) {
                sqlers.printStackTrace();
                System.out.println("Resultset:");
                System.out.println(sqlers.getMessage());
        }
            try
            {
             if (ps!=null) {
                    ps.close();
                }
            }
            catch (SQLException sqleps) {
                sqleps.printStackTrace();
                System.out.println("PreparedStatement:");
                System.out.println(sqleps.getMessage());
            }
            try {
                if (conn!=null && !conn.isClosed()) {
                    conn.close();
                }
            }
            catch (SQLException sqleCon) {
                sqleCon.printStackTrace();
                System.out.println("Connection:");
                System.out.println(sqleCon.getMessage());
            }
        }
        return selectPartido;
}
   

 
    public boolean insertPartido(Partido partido) {
        boolean inserto = false;
        Connection conexion = conexionSqlServer();
        try
        {
        CallableStatement statement = (CallableStatement)conexion.prepareCall("EXEC sp_InsertPartido ?,?,?,?");  
        
         statement.setString("idMesa", partido.getIdPartido());
         statement.setDate("fechaPartido", partido.getFechaPatido());
         statement.setString("EquipoUno", partido.getIdEquipoA());
         statement.setString("EquipoDos", partido.getIdEquipoB());
       
        
        statement.executeUpdate();
        
        inserto = true;
        }
         catch(Exception ex){
            System.out.print("exepction  "+ex.getMessage());
            throw new Exception(ex.getMessage());
            
            
        }
        finally
        {
        
        return inserto;
        
    }
    }


    public boolean updateUsuario(Partido partido) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
    
    }

   
    


